package cn.iocoder.yudao.module.scrm.controller.admin.schedules.vo;

import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat;
import cn.iocoder.yudao.framework.excel.core.convert.DictConvert;
import cn.iocoder.yudao.module.scrm.annotations.DictField;
import cn.iocoder.yudao.module.scrm.enums.DictTypeConstants;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;

import java.math.BigDecimal;
import java.util.*;
import java.util.*;
import com.alibaba.excel.annotation.*;

import static cn.iocoder.yudao.module.scrm.enums.DictTypeConstants.SCRM_PAYMENT_METHOD;

@Schema(description = "管理后台 - 排期客户 Response VO")
@Data
@ExcelIgnoreUnannotated
public class SchedulesCustomerRespVO {

    @Schema(description = "客户名称", example = "李四")
    @ExcelProperty("客户名称")
    private String name;

    @Schema(description = "客户手机号", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三")
    @ExcelProperty("客户手机号")
    private String phone;

    @Schema(description = "企业")
    @ExcelProperty("公司名称")
    private String enterprise;

    @Schema(description = "负责人名字", example = "25682")
    @ExcelProperty("邀约人")
    private String ownerUserName;

    @Schema(description = "负责人部门")
    @ExcelProperty("邀约人部门")
    private String ownerUserDeptName;

    @Schema(description = "状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
    //@ExcelProperty("状态")
    private Integer status;

    @Schema(description = "状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
    @ExcelProperty("签到情况")
    private String statusShow;

    @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "28257")
    //@ExcelProperty("主键")
    private Long id;

    @Schema(description = "排期ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "6350")
    //@ExcelProperty("排期ID")
    private Long schedulesId;

    @Schema(description = "客户ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1836")
    //@ExcelProperty("客户ID")
    private Long customerId;

    @Schema(description = "回款方式,关联枚举CrmReceivableReturnTypeEnum", example = "1")
    @ExcelProperty(value = "回款方式" , converter = DictConvert.class)
    @DictFormat(SCRM_PAYMENT_METHOD)
    private String receivableMethod;

    @Schema(description = "回款金额", example = "6.66")
    @ExcelProperty("回款金额")
    private BigDecimal receivablePrice;

    @Schema(description = "身份证号", example = "身份证号")
    @ExcelProperty("身份证号")
    private String idCard;

    @Schema(description = "峰会组别", example = "峰会组别")
    @ExcelProperty("峰会组别")
    private String summitGroup;





}